package com.hzit.controller;

import com.hzit.pojo.PageResult;
import com.hzit.pojo.R;
import com.hzit.pojo.Student;
import com.hzit.pojo.StudentVo;
import com.hzit.service.StudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * 类名：
 * 作者：WF
 * 功能：
 */
// @Controller
@RestController
@RequestMapping("/student")
public class StudentController {
	@Autowired
	private StudentService studentService;
	//1. 列表学生
	@GetMapping("/list")
	// @ResponseBody   // 将返回值转换为json送到页面展示
	public R findAll(){
		//preHandler
		List<Student> students = studentService.findAll();
		return R.ok().data("students",students);
		//postHandler
	}

	//2. 分页条件查询
	// @RequestBody: 将前台的json串转换为此时的java对象
	// @ResonseBody：将后台的java对象转换为json串对象
	@PostMapping("/search")
	// @ResponseBody
	public R search(int page, int pageSize, @RequestBody(required = false) Student vo){
		PageResult<Student> pr = studentService.search(page,pageSize,vo);
		return R.ok().data("pr",pr);
	}

	//3. 添加学生
	@PostMapping("/add")
	public R add(@RequestBody Student student){
		studentService.add(student);
		return R.ok().message("添加学生成功！");
	}

	//4. 修改学生
	@PostMapping("/update")
	public R update(@RequestBody Student student){
		studentService.update(student);
		return R.ok().message("修改学生成功！");
	}

	//5. 删除学生
	@GetMapping("/delete")
	public R delete(String sid){

		studentService.delete(sid);
		return R.ok().message("删除学生成功！");

	}
}
